package com.hzh.scala

object Demo10Apply {

  def main(args: Array[String]): Unit = {
    //调用对象的apply方法
    //Score.apply()
    //apply方法可以直接使用对象名调用
    //Score()

    val score: Score = Score("001", 200)
    println(score)
  }
}

/**
 * Score object是Score class的伴生对象
 *
 */
object Score {
  /**
   * apply:是object中一个特殊的方法，可以直接使用object的名称调度
   */
  def apply(sid: String, sco: Int): Score = {
    new Score(sid, sco)
  }
}

class Score(sid: String, sco: Int) {
  override def toString: String = s"Score($sid,$sco)"

}
